Soon after the invention of the computer, people began connecting computers together into networks. This allows for the sharing of information and resources within the network. To save on resources, rather than connect each computer to every other computer in the network, a common communication path is established. The network is designed to a standard for physical resources and communication protocols. In addition to the computers themselves, other equipment may be connected to the network. This equipment may include printers, plotters, modems, memory storage devices, and the like. Each piece of equipment is referred to as a node of the network. Each node is connected to a switch which controls access to the network. The switches each have two uplink ports, that is, port A and port B. Each uplink port is connected to a link of the network. The information or data that is shared over the network is broken into packets or frames for transmission over the network. The size and content of the packet will depend on the communications protocol that is being used. One common network standard is the IEEE 802.3 Ethernet standard. Under this standard, a frame consists, in order, of six bytes of a destination address (DA), six bytes of a source address (SA), a payload, and a four byte Cyclic Redundancy Check (CRC) value. The total packet length can be from 64 to 1,518 bytes long with all but sixteen of the bytes consisting of the payload.
There are two conventional techniques for connecting the switches of a network. The first is to connect them one to one to form a closed loop or ring. To allow for a closed loop system, a management device is required. Otherwise, there is a chance that a packet may never reach its destination address and travel forever on the loop. This would result in degraded performance of the network. The management device is usually a computer running a management software such as a spanning tree algorithm. This results in extra cost and complication.
A second simpler technique for connecting the switches of a network is to leave one of the links open in the closed loop above, thus forming an open loop or chain. This eliminates the possibility of a packet traveling in an infinite loop and eliminates the expense of a management device. However it can result in other shortcomings. First, it is desirable to minimize the latency of any network, that is, the maximum number of links between the ends of the network. For conventional open loop networks, the latency is the number of switches in the stack minus one. For example, a stack of four switches has a latency of four minus one equals three. Second, it is desirable to balance the traffic load among the links of any network. In an open loop network, the links near the center of the chain will carry a greater load than the links near the end of the chain by design. This heavy loading may reduce the performance of the network. Third, it is desirable to design a robust network. Should a single failure occur, the rest of the network should remain as functional as possible. In an open loop network, if, near the center of the chain, one of the links becomes broken or one of the switches malfunctions, then the network becomes isolated into two portions with no communication between the two.
A definite need exists for a dynamic break loop that combines the simplicity of the conventional open loop network without the shortcomings. Specifically, a need exists for a dynamic break loop which is capable of providing improved latency, better load balance, and greater resiliency to failure. Ideally, such a dynamic break loop would be simple, robust, and inexpensive. A primary purpose of the present invention is to solve these needs and provide further, related advantages.